
 
 
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html>                 
 
 <head> <style type="text/css"> /* <![CDATA[ */ @import "/branding/css/tigris.css"; @import "/branding/css/inst.css"; /* ]]> */</style> <link rel="stylesheet" type="text/css" href="/branding/css/print.css" media="print" /> <script src="/branding/scripts/tigris.js" type="text/javascript"></script>  
             
 
  <script src="/branding/scripts/alm.js" type="text/javascript"></script>
 <style type="text/css">
    /* <![CDATA[ */
    @import "/branding/css/alm.css";
   /* ]]> */
 </style>
 
 
                                                    <title> subversion.tigris.org </title> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <meta http-equiv="Content-Style-Type" content="text/css" /> <meta name="version" content="4.5.1.52.7" /> <meta name="keywords" content="Defect Tracking, Issue Tracking, Version Control, Configuration Management, Software Configuration Management, SCM, CM, Revision Control, Software Engineering, Unit Testing, Outsourcing, Collaboration, Open Source, Software Development, Collaborative Software Development, Enterprise, Java, Web Services" />   
<meta name="description" content="CollabNet, Facilitating Collaborative Software Development" /> <meta name="description" content="Open source software engineering" />
 
<style type="text/css"> /* <![CDATA[ */
  @import "branding/css/tigris.css";
  @import "branding/css/inst.css";
  /* ]]> */</style>
<link rel="stylesheet" type="text/css" media="print"
  href="branding/css/print.css"/>
<script type="text/javascript" src="branding/scripts/tigris.js"></script>

<!-- Custom stylations to hide the obnoxious project info -->
<style type="text/css">
#projecthome .axial { display: none; }
#apphead h1 { display: none; }
#longdescription { border: none; }
#longdescription h2 { display: none; }
#customcontent h2 { display: block; }
</style>
<!-- End custom stylations -->
</head> 
 
<body  class="composite"> 
 
 <div id="collabnet">
 <div id="login"> 
     <div>
      <a href="http://www.tigris.org/servlets/Login?detour=http://subversion.tigris.org/servlets/ProjectHome;jsessionid=E27298ADB233F9738885F3F386CBAC96">Login</a>
      |    <a href="http://www.tigris.org/servlets/Join">Register</a>     </div>
 </div>
 <a href="http://www.collab.net/special/clickpbc0502.html" id="cnlogo">
<span class="alt">CollabNet Enterprise Edition</span></a>
</div>
 
 
 
 
 <div id="banner">
</div>
 
 
 
 
 <div id="banner">
 <table width="100%" id="bannertable" cellpadding="0" cellspacing="0">
   <tr>
    <td rowspan="2" style="width: 50px;">
    <a href="http://www.tigris.org/" title="Tigris.org:Defect
Tracking,Issue Tracking,Version Control,Software Configuration
Management,SCM,CM,Revision Control,Unit Testing,Software
Engineering,Document Templates,Outsourcing,Collaboration,Open
Source,Development,Enterprise,Java,Web Services">
<img src="/branding/images/logo.gif" alt="Tigris.org" id="tigrislogo" height="48" width="48" /></a>
    </td>
    <td style="min-width: 300px;" id="tigrisheading">
     <div>Tigris.org</div>
      <div class="smaller">Open Source Software Engineering Tools</div>
    </td>
    <td rowspan="2" style="width: 300px;" id="collabnote">
      <table cellpadding="0" cellspacing="0">
       <tr>
        <td>
        <a href="http://www.collab.net/support/svn_support.html" target="_blank"><img src="/branding/images/svnsupport2.gif" width="175" height="60" class="collabnoteimage" alt="CollabNet Subversion Support Services" title="CollabNet Subversion Support Services" /></a>
       </td>
       <td>
         <a href="http://www.collab.net/services/training.html"><img src="/branding/images/training.gif" width="175" height="60" class="collabnoteimage" alt="CollabNet Subversion Training" title="CollabNet Subversion Training" /></a>
        </td>
      </tr>
     </table>  
</td>
</tr>
</table>
</div>
<div id="toptabs">
<table cellpadding="4" cellspacing="0" border="0"><tr>
<td>   <a href="http://www.tigris.org/servlets/StartPage">My pages</a> </td>
<th>   <a href="http://www.tigris.org/servlets/ProjectList">Projects</a> </th>
  <td>   <a href="http://www.tigris.org/servlets/DomainHome">Community</a> </td>
		<td>   <a href="http://www.tigris.org/servlets/OpenCollabNet">openCollabNet</a> </td>
</tr></table>
</div>
  
 
 <div id="breadcrumbs">
   <a href="http://www.tigris.org/servlets/ProjectList">Projects</a>     >
     

   <strong>   <a href="http://subversion.tigris.org/"
    class="selfref"   >subversion</a>
   </strong>  </div>
 
 
 
 
<table border="0" cellspacing="0" cellpadding="4" width="100%" id="main"><tr><td id="navcol"> 
 
   
             
 
  
 
                                                        <dl id="projecttools" class="navgroup">   <dt>Project tools</dt>   <dd>    <ul>          <li>   <a href="http://subversion.tigris.org/servlets/ProjectHome;jsessionid=E27298ADB233F9738885F3F386CBAC96" class="selfref">Project home</a> </li>                               	</ul>       </dd>            <dd>   <!-- Begin Left Navigation Bar Override -->

<!-- This file overrides the left navigation bar on subversion.tigris.org, 
     a feature specific to the CEE branding on tigris.org.  See 
     www/overrides/ in the "look" project for details. -->

<!-- dd --><ul>

<li><a href="/servlets/ProjectMemberList">Membership</a></li>

</ul></dd>
<!-- .................................................................. -->
<dd><ul>

<li><a href="/project_issues.html">Issue tracker</a></li>
<li><a href="/servlets/ProjectMailingListList">Mailing lists</a>
<!-- After the web site, the mailing lists are the part of the project
     people will spend the most time in, therefore putting the
     etiquette link somewhere prominent (like here) is probably
     worthwhile. -->
<li><a href="/mailing-list-guidelines.html">Mailing list etiquette</a></li>
<li><a href="/servlets/ProjectNewsList">Announcements</a></li>

</ul></dd>
<!-- .................................................................. -->
</dt>
<dt>Getting Subversion</dt>
<!-- .................................................................. -->
<dd><ul>

<li><a href="/project_packages.html">Downloads</a></li>
<li><a href="/servlets/ProjectDocumentList">Documents &amp; files</a></li>
<li><a href="http://svn.collab.net/viewvc/svn/">Version control</a></li>

</ul></dd>
<!-- .................................................................. -->
</dt>
<dt>Project Management</dt>
<!-- .................................................................. -->
<dd><ul>

<li><a href="/project_development.html">Development</a></li>
<li><a href="/roadmap.html">Road map</a></li>
<li><a href="/project_tasks.html">Task List</a></li>

</ul></dd>
<!-- .................................................................. -->
</dt>

<dt>Additional Resources</dt>
<!-- .................................................................. -->
<dd><ul>

<li><a href="/faq.html">FAQ</a></li>
<li><a href="http://svnbook.org">Subversion Book</a></li>
<li><a href="/license-1.html">License</a></li>

</ul></dd>
<!-- .................................................................. -->
<dd><ul>

<li><a href="/tools_contrib.html">Tools &amp; Contrib</a></li>
<li><a href="/links.html">Links</a></li>
<li><a href="/testimonials.html">Testimonials</a></li>
<!-- Right now, everyone we know about who offers commercial support
     is listed in the referenced URL.  If there are ever support
     sources not included there, then we can expand this to a page. -->
<li><a href="/commercial-support.html">Commercial support</a></li>
<li><a href="http://subversion.org/legal/trademark-policy.html"
    >Trademark policy</a></li>

</ul></dd>
<!-- .................................................................. -->
<dd><ul>

<li><a href="/security.html">Security</a></li>

</ul><!-- /dd -->

<!-- End Left Navigation Bar Override -->
   </dd>      </dl> <form action="http://subversion.tigris.org/servlets/Search;jsessionid=E27298ADB233F9738885F3F386CBAC96" method="get"> <dl id="searchbox" class="navgroup">        <dt>Search</dt>  <dd>   <div>       <select name="scope">           <option value="project" selected="selected">This project</option>               <option value="domain" >All projects</option>    </select>      </div>   <div>    <input type="hidden" name="resultsPerPage" value="40" />     <input type="text" name="query" size="10" maxlength="99" />     <input type="submit" name="Button" value="Go" />   </div>   <div>       <a href="http://subversion.tigris.org/servlets/Search;jsessionid=E27298ADB233F9738885F3F386CBAC96?mode=advanced">Advanced search</a>    </div>  </dd> </dl></form><div style="padding: 6px; padding-left: 20px;"> <a href="http://www.collab.net/special/clickpbc0502.html" onclick="return launch(this.href, 1)"><img src="/branding/images/poweredby.gif" alt="This site is Powered by CollabNet." id="poweredbycollabnet" width="102" height="38" /></a></div><dl id="helptext" class="navgroup"> <dt>How do I...</dt> <dd>  <ul>      
 
  <li>  <a href="http://www.tigris.org/scdocs/Learning" onclick="return launch(this.href, 1)" 
 title="Note: link may open in new window" class="helplink">
 
 Learn about projects?</a>
</li>
 <li>  <a href="http://www.tigris.org/scdocs/ContentEditor_C" onclick="return launch(this.href, 1)" 
 title="Note: link may open in new window" class="helplink">
 
 Customize my project home page?</a>
</li>
  
 
 
        <li> <a href="http://www.collab.net/rn/" onclick="return launch(this.href, 1)" 
 title="Note: link may open in new window" class="helplink">
 
 Get release notes for CollabNet 4.5.1?</a>
</li>   <li><a href="http://subversion.tigris.org/nonav/servlets/HelpTOC" onclick="return launch(this.href, 1)" title="Note: link may open in new window" class="helplink">Get help?</a></li>  </ul> </dd></dl><div id="mainhighlights">        

<table border="0" cellspacing="0" cellpadding="3"  width="100%">
 <tr>
  <th>Category</th>
  <th>Featured projects</th>
 </tr>
 <tr>
  <td><a href="http://scm.tigris.org/">scm</a></td>
  <td><a href="http://subversion.tigris.org/" title="open source version control">Subversion</a>, 
<a href="http://subclipse.tigris.org/" title="Subversion Eclipse integration">Subclipse</a>,
<a href="http://tortoisesvn.tigris.org/" title="Subversion client">TortoiseSVN</a>,
<a href="http://rapidsvn.tigris.org/" title="Subversion client">RapidSVN</a>
  </td>
 </tr>
 <tr>
  <td><a href="http://issuetrack.tigris.org/">issuetrack</a></td>
  <td><a href="http://scarab.tigris.org/" title="customizable software defect tracking system">Scarab</a></td>
 </tr>
 <tr>
  <td><a href="http://requirements.tigris.org/">requirements</a></td>
  <td><a href="http://xmlbasedsrs.tigris.org/">xmlbasedsrs</a></td>
 </tr>
 <tr>
  <td><a href="http://design.tigris.org/">design</a></td>
  <td><a href="http://argouml.tigris.org/" title="Free UML tool, use cases, uml tutorials">ArgoUML</a></td>
 </tr>
 <tr>
  <td><a href="http://techcomm.tigris.org/">techcomm</a></td>
  <td><a href="http://subetha.tigris.org/" title="Mailing list manager">SubEtha</a>, 
  <a href="http://eyebrowse.tigris.org/" title="Mailing list archive tool">eyebrowse</a>, 
<a href="http://midgard.tigris.org/">midgard</a>,
<a href="http://cowiki.tigris.org/">cowiki</a></td>
 </tr>
 <tr>
  <td><a href="http://construction.tigris.org/">construction</a></td>
  <td><a href="http://antelope.tigris.org/" title="Ant GUI">antelope</a>,
  <a href="http://scons.tigris.org/" title="cross-platform build tool">scons</a>,
  <a href="http://frameworx.tigris.org/">frameworx</a>,
  <a href="http://build-interceptor.tigris.org/">build-interceptor</a>,
  <a href="http://propel.tigris.org/">propel</a>,
  <a href="http://phing.tigris.org/">phing</a>
  </td>
 </tr>
 <tr>
  <td><a href="http://testing.tigris.org/" title="tools for quality software">testing</a></td>
  <td><a href="http://maxq.tigris.org/" title="record and playback web automated testing tool">maxq</a>, 
<a href="http://aut.tigris.org/" title="advanced unit testing">aut</a>
  </td>
 </tr>
 <tr>
  <td><a href="http://deployment.tigris.org/">deployment</a></td>
  <td><a href="http://current.tigris.org/">current</a></td>
 </tr>
 <tr>
  <td><a href="http://process.tigris.org/" title="software development process, extreme programming">process</a></td>
  <td><a href="http://readyset.tigris.org/" 
title="Use case template, example test plans, software requirements specification templates, sample project plan template">ReadySET</a></td>
 </tr>
 <tr>
  <td><a href="http://libraries.tigris.org/" title="software reuse, web services">libraries</a></td>
  <td><a href="http://gef.tigris.org/" title="Graphical diagram editing">GEF</a>, 
<a href="http://axion.tigris.org/" title="Relational database">Axion</a>, 
<a href="http://style.tigris.org/" title="Reusable CSS stylesheets">Style</a>,
<a href="http://sstree.tigris.org/" title="Super-simple trees in HTML, CSS, and javascript">SSTree</a>
 </td>
 </tr>
 <tr>
  <td colspan="2" style="text-align:center">Over 500 <a style="text-decoration:underline;" 
  href="http://www.tigris.org/servlets/ProjectList">more tools...</a></td>
 </tr>
</table>



<table border="0" cellspacing="2" cellpadding="3"  width="100%" style="margin-top: 15px;">
 <tr>
  <th>Subversion and IDEs</th>
 </tr>
 <tr>
 <td>
 <a href="http://subclipse.tigris.org/">Eclipse</a>
 </td>
 </tr>
  <tr>
 <td>
 <a href="http://www.oracle.com/technology/products/jdev/htdocs/partners/addins/exchange/subversion/subversion.html">JDeveloper</a>
 </td>
 </tr>
  <tr>
 <td>
 <a href="http://subversion.netbeans.org/">NetBeans</a>
 </td>
 </tr>
 </table>
 
 </div>

 
<!--
<br/>
<div id="subnewsletter" class="toolgroup">
<div class="label"><strong>Tigris.org Newsletter</strong></div>
<div class="body">
 Get the latest news and feature articles.
 <div><a style="color: blue;"
 href="http://www.tigris.org/newsletter/">Newsletter info</a></div>
 <div><a style="color: blue;" title="ArgoUML; Adoptable SPI"
 href="http://www.tigris.org/newsletter/newsletter-2004-06.html">Jun 2004 issue</a></div>
</div></div>
-->
 
 
<div class="strut">&nbsp;</div></td><td id="midcol">   <div id="bodycol"><div id="apphead"><h1><small>subversion</small><br />    
  Project home
  
 </h1></div> 
 
 
        
                 
                 
           
    
  

 
 
 
 
 <p class="tasknav">





      
     If you were <a href="http://www.tigris.org/servlets/Join">registered</a> and <a href="http://www.tigris.org/servlets/Login?detour=http://subversion.tigris.org/servlets/ProjectHome;jsessionid=E27298ADB233F9738885F3F386CBAC96">logged in</a>, you could join this project.
    
  
  
</p>
 
 
 
 

 
 
 <div id="projecthome" class="application">




    <table class="axial">
      <tr>
       <th>Summary</th>
       <td>A compelling replacement for CVS</td>
      </tr>
         <tr>
       <th>
             Category
           </th> 
     <td>
           <a href="http://scm.tigris.org/">scm</a>
          </td>
    </tr>  
        
                 
               <tr>
        <th>License</th> 
       <td>
        <a href="http://subversion.tigris.org/servlets/LicenseDetails?licenseID=9">CollabNet/Tigris.org Apache-style license</a>
       </td>
      </tr>
             
        
    
         <tr>
       <th>Owner(s)</th> 
       <td>
          svn       </td>
     </tr>  
        
        </table>



 
             
 
  
 
                                                       
                   

<!-- The class h2 is included on the main div, because the HTML which the
     server will wrap around the page includes a <div class="h2">.
     Thus, we include one here so that the page looks right when previewed
     locally, *but* we override the border which the CSS assigns to that
     style, so that we do not get two borders on the live page. -->
<div class="h2 app" style="border-left: 0px" id="customcontent">

<div style="text-align: center;">
  <img src="images/subversion_logo_hor-468x64.png" alt="Subversion" />
</div>

<p>The goal of the Subversion project is to build a <strong>version
   control system</strong> that is a compelling replacement for CVS in
   the open source community.  The software is released under an <a
   href="license-1.html">Apache/BSD-style</a> open source
   license.</p>

<div id="latest">
<h2>Latest Release</h2>

<p>Subversion 1.4.5 is <a
   href="http://subversion.tigris.org/servlets/NewsItemView?newsItemID=1941"
   >now available</a>.  It is a Win32 security release, and differs from
   1.4.4 only in a fix for a security vulnerability.  Windows client
   users should upgrade to 1.4.5; see the <a
   href="http://subversion.tigris.org/servlets/ReadMsg?list=users&amp;msgNo=69413"
   >announcement mail</a> for details.  See the <a
   href="svn_1.4_releasenotes.html" >1.4.x release notes</a> for
   what's new in the 1.4 series generally.</p>
</div>  <!-- latest -->

<div id="questions">
<h2>Got Questions?</h2>

<p style="background: #dd9;">The <a
   href="http://svnbook.red-bean.com/">Subversion Book</a> and <a
   href="faq.html">FAQ</a> can usually answer most questions.  You can
   also ask on the <a
   href="/servlets/ProjectMailingListList">users@subversion.tigris.org</a>
   mailing list, or in IRC at <tt><a href="irc://irc.freenode.net/"
   >irc.freenode.net</a></tt>, channel <tt><a
   href="irc://irc.freenode.net/svn" >#svn</a></tt>.  (Note that the
   mailing lists are <a href="faq.html#moderation">moderated</a>, so
   there may be a delay before your post shows up.)</p>
</div>  <!-- questions -->

<div id="features">
<h2>Subversion's Features</h2>

<ul>  <!-- list of features -->

<li><strong>Most current CVS features.</strong>
    <p>Subversion is meant to be a better CVS, so it has most of
    CVS's features.  Generally, Subversion's interface to a particular
    feature is similar to CVS's, except where there's a compelling
    reason to do otherwise.</p>
</li>

<li><strong>Directories, renames, and file meta-data are versioned.</strong>
    <p>Lack of these features is one of the most common complaints
    against CVS.  Subversion versions not only file contents and file
    existence, but also directories, copies, and renames.  It also
    allows arbitrary metadata ("properties") to be versioned along
    with any file or directory, and provides a mechanism for
    versioning the `execute' permission flag on files.
 </p>
</li>

<li><strong>Commits are truly atomic.</strong>
    <p>No part of a commit takes effect until the entire commit has
    succeeded.  Revision numbers are per-commit, not per-file; log
    messages are attached to the revision, not stored redundantly as
    in CVS.</p>
</li>

<li><strong>Apache network server option, with WebDAV/DeltaV
    protocol.</strong>
    <p>Subversion can use the HTTP-based WebDAV/DeltaV protocol for network
    communications, and the Apache web server to provide
    repository-side network service.  This gives Subversion an
    advantage over CVS in interoperability, and provides various key
    features for free: authentication, wire compression, and
    basic repository browsing. </p>
</li>

<li><strong>Standalone server option.</strong> 
    <p>Subversion also offers a standalone server option using a
    custom protocol (not everyone wants to run Apache 2.x).  The
    standalone server can run as an inetd service, or in daemon mode,
    and offers basic authentication and authorization.  It can also be
    tunnelled over ssh.</p>
</li>

<li><strong>Branching and tagging are cheap (constant time) operations</strong>
    <p>There is no reason for these operations to be expensive, so
    they aren't.</p>

    <p>Branches and tags are both implemented in terms of an
    underlying "copy" operation.  A copy takes up a small, constant
    amount of space.  Any copy is a tag; and if you start committing
    on a copy, then it's a branch as well.  (This does away with CVS's
    "branch-point tagging", by removing the distinction that made
    branch-point tags necessary in the first place.)</p>
</li>

<li><strong>Natively client/server, layered library design</strong>
    <p> Subversion is designed to be client/server from the beginning;
    thus avoiding some of the maintenance problems which have plagued
    CVS.  The code is structured as a set of modules with well-defined
    interfaces, designed to be called by other applications.</p>
</li>

<li><strong>Client/server protocol sends diffs in both directions</strong>
    <p>The network protocol uses bandwidth efficiently by transmitting
    diffs in both directions whenever possible (CVS sends diffs from
    server to client, but not client to server).</p>
</li>

<li><strong>Costs are proportional to change size, not data size</strong>
    <p>In general, the time required for a Subversion operation is
    proportional to the size of the <i>changes</i> resulting from that
    operation, not to the absolute size of the project in which the
    changes are taking place.  This is a property of the Subversion
    repository model.</p>
</li>


<li><strong>Choice of database or plain-file repository implementations</strong> 
  <p>Repositories can be created with either an embedded database
     back-end (BerkeleyDB) or with normal flat-file back-end, which
     uses a custom format.</p>
</li>

<li><strong>Versioning of symbolic links</strong>
  <p>Unix users can place symbolic links under version control.  The
     links are recreated in Unix working copies, but not in win32
     working copies.</p>
</li>

<li><strong>Efficient handling of binary files</strong>
    <p>Subversion is equally efficient on binary as on text files,
    because it uses a binary diffing algorithm to transmit and store
    successive revisions.</p>
</li>

<li><strong>Parseable output</strong>
    <p>All output of the Subversion command-line client is carefully
    designed to be both human readable and automatically parseable;
    scriptability is a high priority.
</p>
</li>

<li><strong>Localized messages</strong>
  <p>Subversion uses gettext() to display translated error,
     informational, and help messages, based on current locale
     settings.</p>
</li>

<li><strong>Repository mirroring</strong>
  <p>Subversion supplies a utility, <tt>svnsync</tt> for synchronizing
     (via either push or pull) a read-only slave repository with a
     master repository.</p>

<!-- ### Language bindings/API? -->

<!-- TODO: Mention 1.5.0's merge tracking support -->

<!-- TODO: Mention 1.5.0's write-through DAV proxy -->

</li>

</ul>
</div>  <!-- features -->

<div id="roadmap">
<h2>Future Subversion Features</h2>

<p>See the <a href="roadmap.html">Roadmap</a> page.</p>
</div>  <!-- roadmap -->

</div>

                           
            
        

</div>
 
 

 
 
 </div></td></tr></table> 
 
 <div id="footer">    <a href="http://www.tigris.org/nonav/DomainFAQ"  onclick="return launch(this.href, 1)" title="Note: link may open in new window" class="helplink">Site FAQ</a> |<a href="http://www.tigris.org/nonav/DomainFeedback"  onclick="return launch(this.href, 1)" title="Note: link may open in new window" class="helplink">Feedback</a> |<a href="http://www.tigris.org/nonav/servlets/LegalNotices?type=TermsOfService" onclick="return launch(this.href, 1)" title="Note: link may open in new window" class="helplink">Terms of service</a> | <a href="http://www.tigris.org/nonav/servlets/LegalNotices?type=PrivacyPolicy" onclick="return launch(this.href, 1)" title="Note: link may open in new window" class="helplink">Privacy policy</a> | <a href="http://www.collab.net/developers/tools/" onclick="return launch(this.href, 1)" title="Note: link may open in new window">Developer tools</a>       	      <p>&#169; 2006 CollabNet. CollabNet is a registered trademark of CollabNet, Inc.</p>    </div> 
 
</body></html> 
 
